<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        span {
            display: inline-block;
            width: 250px;
            height: 30px;
            vertical-align: middle;
            line-height: 30px;
            padding-left: 15px;
        }

        .error {
            color: red;
            background: url(./images/error1.png) no-repeat left center;
        }

        .right {
            color: green;
            background: url(./images/right.png) no-repeat left center;
        }
    </style>
</head>

<body>
    <input type="text">
    <span></span>
    <script>
        const reg = /^[a-zA-Z0-9-_]{6,16}$/;
        const input = document.querySelector("input");
        const span=input.nextElementSibling;
        input.addEventListener("blur",function(){
            if(reg.test(this.value)){
                span.className = "right";
                span.innerHTML = "输入正确";
            }else{
                span.className = "error";
                span.innerHTML = "用户名格式不正确,请输入6-16位字母、数字、下划线";
            }
        })
    </script>

</body>

</html>